A virtualized computer system in which computing capacity is aggregated across a cluster of host computers (hereinafter referred to as “hosts”) employs a scheduler that is responsible for placement of virtual computing instances, e.g., virtual machines (VMs) that employ guest operating systems, containers that do not employ guest operating systems, or other cloud-native (distributed) applications, in the hosts and migration of the virtual computing instances between the hosts to achieve load balancing. The scheduler that is used in VMware® vSphere™, which is commercially available from VMware, Inc. of Palo Alto, Calif., is known as the Distributed Resource Scheduler (DRS).
The DRS is implemented in a management server for VMs and performs the resource scheduling function for all of the hosts in a central manner. Resource usage by the different VMs in the hosts is reported to the DRS, and the DRS aggregates that information to make decisions on where to place new VMs and recommends migration of existing VMs between the hosts.
The use of a centralized scheduling solution such as the DRS in a cloud computing environment becomes impractical because the number of hosts for the DRS to manage is too large. For example, the number of hosts managed in a cloud computing environment can be one to several orders of magnitude greater than the number managed by a DRS.